// package com.zmn.oms.admin.controller.comment;
//
// import com.google.common.collect.Maps;
// import com.zmn.common.constant.GlobalConsts;
// import com.zmn.common.dto.LayuiTableResponseDTO;
// import com.zmn.common.utils.date.DateUtil;
// import com.zmn.common.utils.office.excel.ExportExcel;
// import com.zmn.oms.admin.controller.work.list.WorkListTabBaseController;
// import com.zmn.oms.common.constant.OrderConsts;
// import com.zmn.oms.common.constant.OrderPremissionConsts;
// import com.zmn.oms.common.dto.ResultDTO;
// import com.zmn.oms.model.entity.comment.OrderCommentEsQuery;
// import com.zmn.oms.model.vo.comment.ZsOrderCommentVO;
// import com.zmn.oms.zmn.business.interfaces.comment.ZsOrderCommentQueryBService;
// import com.zmn.plat.common.constant.ProductConsts;
// import lombok.extern.slf4j.Slf4j;
// import org.apache.commons.lang3.StringUtils;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.stereotype.Controller;
// import org.springframework.web.bind.annotation.*;
// import org.springframework.web.servlet.ModelAndView;
//
// import javax.servlet.http.HttpServletResponse;
// import java.util.LinkedHashMap;
// import java.util.List;
//
// /**
//  * 类描述 saas评价列表查询
//  *
//  * @author  sunlife
//  * @date  2019/8/14 15:55
//  * @version 1.0
//  */
//
// @Slf4j
// @Controller
// @RequestMapping("/saas/order_comment")
// public class SaasCommentListController extends WorkListTabBaseController {
//
//     @Autowired
//     ZsOrderCommentQueryBService zsOrderCommentQueryBService;
//
//     //    @RequiresPermissions("/zs/order_comment/list.action")
//     @RequestMapping("list")
//     public ModelAndView list(ModelAndView mv) {
//
//         mv.setViewName("comment/saas/list");
//
//         mv.addObject("moduleId", OrderPremissionConsts.MODULE_ID_ZS_ORDER_COMMENT);
//         // 是否
//         mv.addObject("yesOrNo", OrderConsts.getYesOrNoObj());
//         // 评星
//         mv.addObject("scoreList", OrderConsts.getCommentScoreList());
//         // 评价方式
//         mv.addObject("commentTypeList", OrderConsts.getCommentTypeList());
//
//         // 评价日期
//         mv.addObject("commentTimeStart", DateUtil.toString(DateUtil.getNow(), DateUtil.FORMAT_DATE));
//         mv.addObject("commentTimeEnd", DateUtil.toString(DateUtil.addDays(DateUtil.getNow(), 1), DateUtil.FORMAT_DATE));
//         super.setDayLimit(mv);
//
//         return mv;
//     }
//
//     //    @RequiresPermissions("/zs/order_comment/list.action")
//     @PostMapping("/ajax/list")
//     @ResponseBody
//     public ResultDTO ajaxList(@RequestBody OrderCommentEsQuery query) {
//
//         query.setPlatWork(GlobalConsts.PLAT_MARK_SAAS);
//         List<ZsOrderCommentVO> voList = zsOrderCommentQueryBService.listPageOrderPartByQuery(query);
//         LayuiTableResponseDTO data = LayuiTableResponseDTO.success(query.getTotalCount(), voList);
//         return ResultDTO.success(data);
//     }
//
//     //    @RequiresPermissions("/zs/order_comment/export/list.action")
//     @GetMapping(value = "/exportexcel")
//     public void exportExcel(OrderCommentEsQuery query, HttpServletResponse response)
//             throws Exception {
//
//         // 导出最多1w
//         query.setPlatWork(GlobalConsts.PLAT_MARK_SAAS);
//         query.setPageSize(10000);
//         List<ZsOrderCommentVO> voList = zsOrderCommentQueryBService.exportListOrderPartByQuery(query);
//
//         LinkedHashMap<String, String> fieldMap = Maps.newLinkedHashMap();
//         fieldMap.put("orderId", "工单号");
//         fieldMap.put("cityName", "城市");
//         fieldMap.put("contactNameCallback", "用户信息");
//         fieldMap.put("commentScore", "评星");
//         fieldMap.put("typeName", "评价方式");
//         fieldMap.put("commentContent", "评价内容");
//         fieldMap.put("masterNameCallback", "工程师信息");
//         fieldMap.put("channelName", "厂商");
//         fieldMap.put("replyCallback", "回访");
//         fieldMap.put("commentTime", "评价时间");
//         ExportExcel<ZsOrderCommentVO> excel = new ExportExcel<>(voList, fieldMap, true);
//         excel.setCallback((fieldName, entity) -> {
//             switch (fieldName) {
//                 case "contactNameCallback":
//                     if (StringUtils.isNotBlank(entity.getContactName())) {
//                         return StringUtils.defaultString(entity.getContactName()) + ":" + entity.getPhone();
//                     }
//                     return StringUtils.EMPTY;
//                 case "masterNameCallback":
//                     if (StringUtils.isNotBlank(entity.getMasterName())) {
//                         return entity.getMasterName() + ":" + entity.getMasterPhone();
//                     }
//                     return StringUtils.EMPTY;
//                 case "replyCallback":
//                     if (entity.getIsReply() != null) {
//                         return entity.getIsReply() ? "已回访" : "未回访";
//                     }
//                     return StringUtils.EMPTY;
//                 default:
//                     break;
//             }
//             return null;
//         });
//         excel.exportExcel(response, "工单评价");
//     }
// }
